package sj2.printer;
/**
 * 打印机程序
 * 面向接口编程，而不是具体的实现类
 */
public class Printer {
    private Ink ink=null; //封装墨盒接口
    private Paper paper=null; //封装纸张接口

    /**
     * 设值注入所需要的setter方法
     * @param ink 墨盒
     */
    public void setInk(Ink ink) {
        this.ink = ink;
    }

    /**
     * 设值注入所需的setter方法
     * @param paper
     */
    public void setPaper(Paper paper) {
        this.paper = paper;
    }
    /**
     * 打印方法
     * @param message  要打印的内容
     */
    public void print(String message){
       //输出颜色标记
        System.out.println("使用"+ink.getColor(255,100,0)+"的颜色打印:\n");
        //逐字符输出到纸张
        for(int i=0;i<message.length();i++){
            paper.putInchar(message.charAt(i));
        }
        //将纸张的内容输出
        System.out.println(paper.getContent());
    }

}
